<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>空运算符</title>
</head>
<body>
<script>
    //todo: 如果左侧为空或未定义，则此运算符返回右侧值。
    const data = null ?? 'data';
    console.log(data);
    // expected output: "data"
    const data1 = 1 ?? 4;
    console.log(data1);
    // expected output: 1




    // todo:逻辑 OR (||) 运算符执行相同的操作，但是，当将 0 作为值传递时，它将视为 false，这使得它容易用于数字。

    function add(a, b) {
        val1 = a || 1;
        val2 = b || 1;
        sum = val1 + val2;
        return sum;
    }

    console.log(add(0, 0)); //output:2

    //todo: 当我们使用 Nullish 运算符时，同样的事情
    function add1(a, b) {
        val1 = a ?? 1;
        val2 = b ?? 1;
        sum = val1 + val2;
        return sum;
    }

    console.log(add1(0, 0)); //ouput:0


</script>
</body>
</html>